﻿Imports System.Data
Imports CondorTravel.BC
Imports CondorTravel.BE

Public Class NuevaSolicitudServicios
    'Inherits System.Web.UI.Page
    Inherits PaginaBase
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        Dim bExito As Boolean = False
        Dim sMensaje As String = String.Empty



        If Not Page.IsPostBack Then

            txtObservaciones.Visible = False

            Dim listUnidadBE As List(Of UnidadBE) = New List(Of UnidadBE)
            Dim objUnidadBC As UnidadBC = New UnidadBC()

            Dim objUnidadSeleccione As UnidadBE = New UnidadBE
            objUnidadSeleccione.Codigo = 0
            objUnidadSeleccione.Descripcion = "[Seleccione]"
            listUnidadBE.Add(objUnidadSeleccione)

            listUnidadBE.AddRange(objUnidadBC.UnidadListar())

            cboUnidad.DataSource = listUnidadBE
            cboUnidad.DataValueField = "Codigo"
            cboUnidad.DataTextField = "Descripcion"
            cboUnidad.DataBind()

            lblTitulo.Text = "Nueva Solicitud de Servicio"

            txtFecha.Attributes.Add("readonly", "readonly") 

            cle1.StartDate = Date.Now.AddDays(1)

            If Session("TipoEvento") = 1 Then  ' Modifica 

                lblTitulo.Text = "Edicion de Solicitud de Servicio"

                Dim objSolicitudSevicioBC As SolicitudServicioBC
                objSolicitudSevicioBC = New SolicitudServicioBC


                Dim objSolicitudSevicioBE As SolicitudServicioBE
                objSolicitudSevicioBE = New SolicitudServicioBE

                objSolicitudSevicioBE.CodSolicitud = Session("CodigoSolicitud")
                objSolicitudSevicioBC.ListarSolicitudServicio_Update(objSolicitudSevicioBE, bExito, sMensaje)

                Dim objSolServicio As List(Of SolicitudServicioBE) = objSolicitudSevicioBC.ListarSolicitudServicio_Update(objSolicitudSevicioBE, bExito, sMensaje)

                ' Mostrar el registro
                Dim strFechas As String
                txtServicio.Text = objSolServicio.Item(0).NombreServicio
                txtProveedores.Text = objSolServicio.Item(0).Proveedores
                strFechas = objSolServicio.Item(0).FechaLanzamiento
                txtFecha.Text = Convert.ToDateTime(strFechas).ToString("dd/MM/yyyy")
                cboUnidad.SelectedValue = objSolServicio.Item(0).Unidad

            End If

            txtFecha.Attributes.Add("readonly", "readonly")
             
        End If
    End Sub

    Protected Sub btnNuevo_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnNuevo.Click

        Try
            Dim objSolicitudSevicioBE As SolicitudServicioBE
            Dim objSolicitudSevicioBC As SolicitudServicioBC
            Dim bExito As Boolean = False
            Dim sMensaje As String = String.Empty


            Dim strServicio As String
            Dim strUnidad As Integer
            Dim strFechas As Date
            Dim strProveedores As String
            Dim strObservaciones As String
            Dim strUsuario As String


            If txtServicio.Text = String.Empty Then
                Alerta("Faltan ingresar el nombre del servicio.", False, String.Empty)
                Exit Sub
            ElseIf cboUnidad.SelectedIndex = 0 Then
                Alerta("Seleccione la unidad del Servicio.", False, String.Empty)
                Exit Sub
            ElseIf txtFecha.Text = String.Empty Then
                Alerta("Faltan ingresar la fecha de lanzamiento.", False, String.Empty)
                Exit Sub
            ElseIf txtProveedores.Text = String.Empty Then
                Alerta("Faltan ingresar el proveedor(es).", False, String.Empty)
                Exit Sub
            End If

            Dim fechas As String = txtFecha.Text.Trim

            If Not IsDate(fechas) Then
                Alerta("La fecha no tiene formato DD/MM/YYYY.", False, String.Empty)
                Exit Sub
            End If

            If Convert.ToDateTime(fechas).ToString("dd/MM/yyyy") < Date.Now And Session("TipoEvento") = 0 Then
                Alerta("La fecha debe ser mayor a la actual.", False, String.Empty)
                Exit Sub
            End If
            strUnidad = cboUnidad.SelectedItem.Value
            strServicio = txtServicio.Text.Trim
            strFechas = Convert.ToDateTime(fechas).ToString("dd/MM/yyyy")
            strProveedores = txtProveedores.Text.Trim
            strObservaciones = txtObservaciones.Text.Trim
            strUsuario = CType(Session("usuario"), UsuariosBE).CodUsuario

            'If cboUnidad.SelectedIndex = 0 Then
            '    'lblMensaje.Text = "Seleecione la unidad del Servicio"
            '    Alerta("Seleccione la unidad del Servicio.")
            '    Exit Sub
            'End If

            objSolicitudSevicioBE = New SolicitudServicioBE
            objSolicitudSevicioBE.Unidad = strUnidad
            objSolicitudSevicioBE.NombreServicio = Replace(Replace(strServicio, "'", ""), ",", "/")
            objSolicitudSevicioBE.FechaLanzamiento = Replace(strFechas, ",", "")
            objSolicitudSevicioBE.Proveedores = Replace(Replace(strProveedores, "'", ""), ",", "/")
            'objSolicitudSevicioBE.Observaciones = Replace(strObservaciones, "'", "")
            objSolicitudSevicioBE.Observaciones = ""
            'DFlores: Se envía parámetro Estado para reutilizar método ModificaSolicitudServicio en Evaluar
            objSolicitudSevicioBE.Estado = "P"

            objSolicitudSevicioBC = New SolicitudServicioBC


            If Session("TipoEvento") = 0 Then ' Nuevo

                objSolicitudSevicioBE.UsuarioCreador = strUsuario
                objSolicitudSevicioBC.InsertarSolicitudServicio(objSolicitudSevicioBE, bExito, sMensaje)
                If bExito Then
                    Alerta("La soliciud fue registrada con exito.", True, "SolicitudServicios2.aspx")
                    cboUnidad.SelectedIndex = 0
                    limpiaCampos()

                Else
                    lblMensaje.Text = sMensaje
                End If

            Else ' Modifificar

                objSolicitudSevicioBE.UsuarioActualiza = strUsuario
                objSolicitudSevicioBE.CodSolicitud = Session("CodigoSolicitud")
                objSolicitudSevicioBC.ModificaSolicitudServicio(objSolicitudSevicioBE, bExito, sMensaje)

                If bExito Then
                    Alerta("La solicitud fue modificada con exito.", True, "SolicitudServicios2.aspx")
                    limpiaCampos()
                Else
                    lblMensaje.Text = sMensaje
                End If

            End If
            

        Catch ex As Exception

        End Try


    End Sub

    Sub limpiaCampos()

        txtServicio.Text = String.Empty
        txtProveedores.Text = String.Empty
        txtObservaciones.Text = String.Empty
        txtFecha.Text = String.Empty
        lblMensaje.Text = String.Empty

    End Sub


    Protected Sub btnConsultar0_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnConsultar0.Click

        Response.Redirect("SolicitudServicios2.aspx", True)
    End Sub

    Protected Sub cboUnidad_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs) Handles cboUnidad.SelectedIndexChanged

    End Sub

End Class